from enum import Enum
from typing import Any, NewType, Optional, TypeVar, Union

t_line = list[int | float]  # [x1, y1, x2, y2]
t_lines = list[t_line]  # [[x1, y1, x2, y2], [x3, y4, x5, y5]]]
t_point = tuple[int | float, int | float] | list[int | float]  # (x1, y1)
# t_point = tuple[int | float, int | float]   # (x1, y1)
# Must be exactly str or bytes
# t_lines = TypeVar('t_lines', bound=list[list[Union[int, float]]])
# t_line = TypeVar('t_line', bound=list[Union[int, float]])


class GreaterSpan(Enum):
    x = 0
    y = 1
    xx = 2
    yy = 3


class TgtDirection(Enum):
    lead = 0
    lag = 1
